package ygw.study.fileTool;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

/**
 * <p>
 * xxxxx
 * </p>
 * <p>
 * Copyright:2023.All rights reserved.
 * </p>
 * <p>
 * Company:Zsoft
 * </p>
 * <p>
 * CreateDate:2023-09-29 23:45
 * </p>
 *
 * @author YuGongWen
 * @history Mender:YuGongWen；Date:2023-09-29 23:45；
 */
public class FIleProcesser {

    public static void main(String[] args) {
        System.out.println("Holle world！");
//        FileMove();
        FileRename();
    }

    
    
    
    public static void FileMove(){

        // 源文件夹路径
        String sourceDirectoryPath = "D:\\BaiduNetdiskDownload\\来自手机的备份\\Camera";
        // 目标文件夹路径
        String targetDirectoryPath = "D:\\BaiduNetdiskDownload\\来自手机的备份\\Camera2";

        // 创建源文件夹和目标文件夹的 File 对象
        File sourceDirectory = new File(sourceDirectoryPath);
        File targetDirectory = new File(targetDirectoryPath);

        // 确保目标文件夹存在，如果不存在则创建
        if (!targetDirectory.exists()) {
            targetDirectory.mkdirs();
        }

        // 获取源文件夹下的所有文件
        File[] files = sourceDirectory.listFiles();

        if (files != null) {
            int i = 0;
            for (File file : files) {
                i++;
                System.out.println("一共 "+ files.length +" 个文件待处理，当前处理第 "+ i +" 个文件。");

                // 判断文件名是否包含“(1).”
                if (file.getName().contains("(7).")) {
                    try {
                        // 构建目标文件的路径
                        Path targetFilePath = new File(targetDirectory, file.getName()).toPath();

                        // 移动文件到目标文件夹
                        Files.move(file.toPath(), targetFilePath, StandardCopyOption.REPLACE_EXISTING);

                        System.out.println("已移动文件：" + file.getName());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }


    }
    
    
    
    
    
    
    
    
    
    
    
    public static void FileRename(){

        // 源文件夹路径
        String sourceDirectoryPath = "D:\\BaiduNetdiskDownload\\来自手机的备份\\Camera2";

        // 创建源文件夹的 File 对象
        File sourceDirectory = new File(sourceDirectoryPath);

        // 获取源文件夹下的所有文件
        File[] files = sourceDirectory.listFiles();

        if (files != null) {
            for (File file : files) {
                // 获取文件名
                String fileName = file.getName();
                String sign = "5";

                // 判断文件名是否包含“(1).”
                if (fileName.contains("("+sign+").")) {
                    // 用正则表达式将“(1).”替换为“.”
                    String newFileName = fileName.replaceAll("\\("+sign+"\\)\\.", ".");

                    // 构建新文件的路径
                    File newFile = new File(file.getParentFile(), newFileName);

                    // 重命名文件
                    if (file.renameTo(newFile)) {
                        System.out.println("已重命名文件：" + fileName + " 为 " + newFileName);
                    } else {
                        System.err.println("重命名文件失败：" + fileName);
                    }
                }
            }
        }

    }
    
    
    
    
    
    
    
    
    
    
    
    
    

}